package cn.itcast.dao;

import cn.itcast.pojo.Role;
import cn.itcast.pojo.User;
import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Param;


import java.util.List;
import java.util.Set;

public interface UserDao {

    //查询全部用户
    List<User> findAll();

    //查询单个用户
    User findById(Integer id);

    //查询用户关联的角色id
    Integer [] findRoleAssociationIds(Integer id);

    //条件查询
    Page<User> findByCondition(String queryString);

    //添加用户
    void add(User user);

    //删除用户
    void deleteById(Integer id);

    //修改用户信息
    void update(User user);

    //设置用户和角色的关联关系
    void setRoleAssociation(@Param("userId") Integer userId, @Param("roleId") Integer roleId);

    //删除用户与角色的关联关系
    void deleteRoleAssociation(Integer id);

    User findByName(String name);

}
